﻿#region Copyright

// /*
// SilverlightInEnterprise
// SilverlightInEnterprise.UnitTesting.Utility
// PropertyChangedEvent.cs
// 
// Author: Matt Van Horn
// Created 11/16/2011 2:13 PM
// Copyright: Silverlight in the Enterprise www.slinenterprise.com
// 
// Licensed under MS-PL http://www.opensource.org/licenses/MS-PL and while you 
// may use this in anyway you see fit and owe us nothing to do so, we wouldn't mind knowing that you got value out of the work we did (so we will do more) so 
// we ask that you leave a comment on www.slinenterprise.com or on the codeplex site slinenterprise.codeplex.com
// 
// */

#endregion

using System;

namespace SilverlightInEnterprise.UnitTesting.Utility.PropertyChangeNotification
{
    public class PropertyChangedEvent
    {
        public PropertyChangedEvent(string propertyName, string[] changesSent, bool gotChange, Exception exception,
                                    object orignal, object desired, object actual)
        {
            this.PropertyName = propertyName;
            this.ChangeNotificationsSentOnChange = changesSent;
            this.GotChangeNotification = gotChange;
            this.Exception = exception;
            this.ThrewException = this.Exception != null;
            this.OrignalValue = orignal;
            this.DesiredValue = desired;
            this.ActualValue = actual;
        }

        public string PropertyName { get; private set; }
        public string[] ChangeNotificationsSentOnChange { get; private set; }
        public bool GotChangeNotification { get; private set; }
        public bool ThrewException { get; private set; }
        public Exception Exception { get; private set; }
        public object OrignalValue { get; private set; }
        public object DesiredValue { get; private set; }
        public object ActualValue { get; private set; }
    }
}